package adv5;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class Exam {

	public static void main(String[] args) {
		/*
		 * 学士后结业考试的时间是每月倒数第二个周六上午8点，输出今年的考试时间,
		 * 
		 * 用yyyy/MM/dd hh时 的格式输出
		 */
		Calendar c = Calendar.getInstance();
		SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd hh时");
		int year = c.get(Calendar.YEAR);
		for (int i = 0; i < 12; i++) {
			// 设置年

			c.set(Calendar.YEAR, year);
			// 设置月

			c.set(Calendar.MONTH, i);
			// 取出每月的最大天数

			int a = c.getActualMaximum(Calendar.DAY_OF_MONTH);
			// 设置天

			c.set(Calendar.DAY_OF_MONTH, a);
			// 看最后一天是否为周六，如果为周六，往前减一周，如果不为周六，则往前减两周，然后设置为周六

			if (c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
				c.add(Calendar.DAY_OF_MONTH, -7);
			} else {
				c.add(Calendar.DAY_OF_MONTH, -14);
				c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
			}
			// 设置小时

			c.set(Calendar.HOUR_OF_DAY, 8);
			// 格式化，转化为字符串输出

			String str = formater.format(c.getTime());
			System.out.println(str);
		}

	}
}
